using System;
using System.Collections.Generic;

namespace SanFS.DiscLibrary
{

	public enum EDiscType
	{
		Unknown,
		CD,
		CDR,
		DVD,
		DVDR_SL,
		DVDR_DL
	}
	
	public enum EDiscStatus
	{
		Pending,	// Disc is spooled and not yet on optical media
		Blank,		// Disc is blank
		Appendable,	// Disc is multi-session and appendable
		Complete	// Disc is either single-session or a closed multi-session
	}
	
	public interface IDisc
	{
		void WriteMetaInfo(string XmlConfigFile);
		
		/*
		 * Media Properties
		 */
		EDiscType	Type {get; set;}
		bool		Rewritable {get;}
		EDiscStatus	Status {get; set;}
		ulong		TotalSize {get;}
		ulong		FreeSpace {get;}
		int			MaxWriteSpeed {get;}
		
		/*
		 * Meta Properties
		 */
		Guid			Uuid {get; set;}
		int				Version {get; set;}
		List<IDiscFile> Files {get;}
	}  // END INTERFACE
}  // END NAMESPACE